package day07;
import java.util.Random;
import java.util.Scanner;

/**
 * 需求:<<主持人大赛>>有N位评委给选手评分,分数范围为0到100之间的浮点数
 *      选手的最终得分为:去掉最高分和最低分后的N-2位评委的平均分
 * 训练目的:分支+循环+数组+方法
 */

public class CalTotalAvg {
    public static void main(String[] args) {
        double[] scores=inpuDate(6);//录入评委的评分
        double avg=calAcg(scores);
        System.out.println("平均分为:"+avg);//录入平均分

    }
    /** 录入N位评委的评分 */
    public static double[] inpuDate(int n){
        double[] scores =new double[n];//评委评分的数组
        Scanner sc=new Scanner(System.in);
        for (int i=0;i<scores.length;i++){//输出第几个评委的评分
            System.out.println("第"+(i+1)+"个评委的分数:");
            scores[i]=sc.nextDouble();
        }
        return scores;
    }
    /**计算平均分 */
    public static double calAcg(double[] scores){
        double total=0.0;//总分
        double max=scores[0];//最高分
        double min=scores[0];//最低分
        for (int i=0;i< scores.length;i++){
            if (scores[i]>max){
                max=scores[i];
            }
            if (scores[i]<min){
                min=scores[i];
            }
            total+=scores[i];
        }
        System.out.println("最高分为:"+max);
        System.out.println("最低分为:"+min);
        double avg=(total-min-max)/(scores.length-2);//平均分
        return avg;
    }
    /*
    思路:
    1.生成一个录入平均分的方法
    2.调用平均分
    3.生成一个计算平均分的方法
    3.调用平均分
     */
}
